El sistema operativo es aquel que maneja los recursos de nuestro computador. Es también aquel encargado de la interacción usuario/máquina.
Existen dos partes principales:

Kernel

El kernel es el núcleo de un sistema operativo. Es el componente central que actúa como un puente entre el hardware del computador y el software que corre sobre él. El kernel gestiona las tareas más básicas y fundamentales del sistema, tales como:

El kernel opera en un espacio protegido de la memoria llamado kernel space. Esta protección evita que los programas de usuario (que operan en el user space) interfieran directamente con el hardware o con las tareas críticas del sistema, manteniendo así la estabilidad y seguridad del sistema operativo.
El kernel proporciona servicios y recursos a los programas en el user space a través de llamadas al sistema (system calls). Estas llamadas permiten a los programas solicitar acciones específicas, como leer o escribir archivos, crear nuevos procesos o comunicarse con dispositivos hardware, sin necesidad de interactuar directamente con el kernel.

User Space

El user space es el área de la memoria donde corren los programas y aplicaciones que el usuario utiliza directamente. Estos programas incluyen:

El user space está separado del kernel space para proteger la integridad del sistema. Si un programa en el user space falla o se comporta mal, no puede afectar directamente al kernel, lo cual ayuda a prevenir que el sistema operativo completo colapse.


Archivos

Cada sistema operativo organiza, opera y monitorea de forma diferente los archivos.
Cada sistema es distinto, tiene distintas ventajas y desventajas. Cada sistema operativo recomienda alguno(s) en particular.
Por ej.

Almacenamiento

Los datos se escriben en forma de bloques al disco, dichos bloques se reparten entre "los cajones" del mismo y se organizan en distintas partes según necesidad. Esto aumenta la velocidad de manejo, es más rápido acceder a varios bloques al mismo tiempo que a un solo gran bloque.
Los archivos, además, utilizan los metadatos (los datos de los datos). Dichos metadatos nos dicen básicamente todo lo que necesitamos saber sobre el archivo (permisos, dueños, tamaño, tipo, fechas).
La extensión del archivo nos dice su tipo, el tipo de archivo le dice al equipo cómo manejarlo, abrirlo, ejecutarlo.

User Space

El user space es donde el usuario interactúa directamente con el computador. En este lugar es donde el usuario ejecutará la gran mayoría de acciones que desea realizar con el equipo, como navegar webs, utilizar aplicaciones o administrar una red.
El user space suele ser comunmente utilizado en una GUI, o graphic user interface, pero no siempre es así.
Una gran cantidad de veces necesitaremos conectarnos a un equipo que no tiene GUI y esto lo haremos a través del shell para así poder ejecutar comandos o realizar acciones que son solamente realizables a través del Shell..
El shell no es más que un interpretador de texto para comandos que le enviará al SO. El shell más común es quizás BASH.

Registros

Otro aspecto importante de cada sistema operativo es la forma en que maneja registros.
Los registros son archivos que guardan información respecto a eventos del computador, esto ayuda a solucionar errores y monitorear el funcionamiento.
La mayoría de los SO maneja registros de la misma forma (archivos) pero no todos muestran la misma información por defecto. Cada sistema debe ser modificado según las necesidades del usuario.

Booteo

Proceso de inicio del computador.
Lo más común es iniciar el computador a través del botón de inicio y dejar que haga su trabajo, sin embargo, no es la única forma.
También podemos configurar para que inicie desde el USB, cambiar el orden de discos que inician, hotswap, por red, etc.

Internamente el computador posee un mini sistema operativo, o un software de bajo nivel, llamado UEFI/BIOS el cual ejecuta pruebas de diagnóstico, configura el orden de arranque y configura el equipo previo al inicio a cualquier SO.

Entre otras formas de inciar el computador, además del botón de inicio, tenemos:

Cada una de ellas responde a diferentes necesidades.


Windows

#to-do


Linux

#to-do